package br.ucb.sigplan.action.impl;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.ucb.sigplan.action.Action;
import br.ucb.sigplan.beans.Professor;
import br.ucb.sigplan.beans.service.BeansUtil;
import br.ucb.sigplan.crud.ProfessorCrud;
import br.ucb.sigplan.exception.DAOException;
import br.ucb.sigplan.validator.Validator;

public class AlteraProfessorAction implements Action {

	@Override
	public String execute(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		List<String> erros = Validator.validaProfessor(req,"alterar");
		if (!erros.isEmpty()) {
			req.setAttribute("erros", erros);
			if (req.getParameter("acao").equalsIgnoreCase("dados")) {
				return "/jsp/alteraDadosPessoais.jsp";
			}else {
				return "/jsp/diretor/professor/dirAlteraProfessor.jsp";
			}
		}
		Professor professor = new Professor();
		String msg = null;
		BeansUtil.populateProfessor(professor, req);
		System.out.println("Senha = "+professor.getSenha());
		try {
			ProfessorCrud.update(professor);
		} catch (DAOException e) {
			msg = e.getMessage();
		}
		if (msg == null) {
			msg = "professorAlteradoSucesso";
		}
		req.setAttribute("msg",msg);
		req.getSession().removeAttribute("professor");
		if (req.getParameter("acao").equalsIgnoreCase("dados")) {
			return "/jsp/index.jsp";
		}else {
			return "abrirListarProfessores.do";
		}
	}

}
